Apache ActiveMQ ™ -- HTTP and HTTPs Transports Reference
Using ActiveMQ > Configuring Transports > ActiveMQ Connection URIs > HTTP and HTTPs Transports Reference
HTTP and HTTPS Transports
The HTTP and HTTPS transports are used to tunnel over HTTP or HTTPS using XML payloads. This allows the ActiveMQ client and broker to tunnel over HTTP avoiding any firewall issues.
If the client is not JMS you might want to look at REST or Ajax support instead.
Note that the HTTP Transport is located in the activemq-optional jar.
ActiveMQ uses a combination of Jetty's Server and SslSocketConnector objects to communicate via the HTTPS transport. When using HTTPS, improper configuration of the corresponding SSL certificates and/or keys may very well lead to the Jetty infinite loop problem described in this nabble thread. A good reference on creating and configuring keys and certificates can be found here.
Configuration Syntax
http://host:port https://host:port
Example URI
http://localhost https://localhost:8080
Dependencies
Clients that use http(s) transport have some additional dependencies, over tcp ones. Those are
- HttpClient
- and XStream
Make sure you have them in your classpath if you use this transport. Also, if you're configuring networks of brokers with http(s) transport make sure you have them in broker's classpath (somewhere under lib/
directory) as the broker will act as a client in that case.